package com.maibow.service.organ;

import java.util.List;

import javax.annotation.Resource;

import org.springframework.stereotype.Service;

import com.maibow.dao.DaoSupport;
import com.maibow.entity.Page;
import com.maibow.entity.admin.Organ;
import com.maibow.service.members.MembersService;
import com.maibow.util.PageData;

/**
 * 
 * 脉博网络后台管理系统
 * 包名：com.maibow.service.organ
 * 文件名：OrganService.java
 * 作者: 吴比(Wubi)
 * 时间：2015年4月7日-上午9:15:13
 * Copyright@ 2015湖南脉博网络科技有限公司-版权所有
 *
 */
@Service("organService")
public class OrganService {

    @Resource(name = "membersService")
    private MembersService membersService;

    @Resource(name = "daoSupport")
    private DaoSupport dao;

    /**
     * 
     * queryAllOrganList(这里用一句话描述这个方法的作用)
     * (这里描述这个方法适用条件 – 可选)
     * 标记：@param pageData
     * 标记：@return
     * 标记：@throws Exception
     * 返回值：List<Organ>
     * 作者：吴比(Wubi)
     * 
     * @exception
     * @since 1.0.0
     */
    public List<Organ> queryAllOrganList(PageData pageData) throws Exception {
        return (List<Organ>) dao.findForList("OrganMapper.queryAllOrganList", pageData);
    }

    /**
     * 
     * queryAllNormalOrganlistPage(这里用一句话描述这个方法的作用
     * )
     * (这里描述这个方法适用条件 – 可选)
     * 标记：@param page
     * 标记：@return
     * 标记：@throws Exception
     * 返回值：List<PageData>
     * 作者：吴比(Wubi)
     * 
     * @exception
     * @since 1.0.0
     */
    public List<PageData> queryAllNormalOrganlistPage(Page page) throws Exception {
        return (List<PageData>) dao.findForList("OrganMapper.queryAllNormalOrganlistPage", page);
    }

    public List<PageData> queryAllOrganListLight(PageData pageData) throws Exception {
        return (List<PageData>) dao.findForList("OrganMapper.queryAllOrganListLight", pageData);
    }

    /**
     * 
     * querAllOrganlistPage(这里用一句话描述这个方法的作用)
     * (这里描述这个方法适用条件 – 可选)
     * 标记：@param page
     * 标记：@return
     * 标记：@throws Exception
     * 返回值：List<PageData>
     * 作者：吴比(Wubi)
     * 
     * @exception
     * @since 1.0.0
     */
    public List<PageData> querAllOrganlistPage(Page page) throws Exception {
        return (List<PageData>) dao.findForList("OrganMapper.querAllOrganlistPage", page);
    }

    /**
     * 取最大id
     * findMaxId(这里用一句话描述这个方法的作用)
     * (这里描述这个方法适用条件 – 可选)
     * 标记：@param pd
     * 标记：@return
     * 标记：@throws Exception
     * 返回值：PageData
     * 作者：吴比(Wubi)
     * 
     * @exception
     * @since 1.0.0
     */
    public PageData findMaxId(PageData pageData) throws Exception {
        return (PageData) dao.findForObject("OrganMapper.findMaxOrganId", pageData);
    }

    /**
     * 
     * getOrganInfoById(这里用一句话描述这个方法的作用)
     * (这里描述这个方法适用条件 – 可选)
     * 标记：@param pageData
     * 标记：@return
     * 标记：@throws Exception
     * 返回值：PageData
     * 作者：吴比(Wubi)
     * 
     * @exception
     * @since 1.0.0
     */
    public PageData getOrganInfoById(PageData pageData) throws Exception {
        return (PageData) dao.findForObject("OrganMapper.getOrganInfoById", pageData);
    }

    /**
     * 
     * getOrganIDCodeInfoById(这里用一句话描述这个方法的作用)
     * (这里描述这个方法适用条件 – 可选)
     * 标记：@param pageData
     * 标记：@return
     * 标记：@throws Exception
     * 返回值：PageData
     * 作者：吴比(Wubi)
     * 
     * @exception
     * @since 1.0.0
     */
    public PageData getOrganIDCodeInfoById(PageData pageData) throws Exception {
        return (PageData) dao.findForObject("OrganMapper.getOrganIDCodeInfoById", pageData);
    }

    /**
     * 
     * saveOrgan(这里用一句话描述这个方法的作用)
     * (这里描述这个方法适用条件 – 可选)
     * 标记：@param organ
     * 标记：@throws Exception
     * 返回值：void
     * 作者：吴比(Wubi)
     * 
     * @exception
     * @since 1.0.0
     */
    public void saveOrgan(PageData pageData) throws Exception {
        dao.save("OrganMapper.insertOrgan", pageData);
    }

    /**
     * 
     * saveOrganInfo(这里用一句话描述这个方法的作用)
     * (这里描述这个方法适用条件 – 可选)
     * 标记：@param pageData
     * 标记：@return
     * 标记：@throws Exception
     * 返回值：Object
     * 作者：吴比(Wubi)
     * 
     * @exception
     * @since 1.0.0
     */
    public Object saveOrganInfo(PageData pageData) throws Exception {
        return dao.save("OrganMapper.insertOrgan", pageData);
    }

    /**
     * 
     * editOrgan(这里用一句话描述这个方法的作用)
     * (这里描述这个方法适用条件 – 可选)
     * 标记：@param pageData
     * 标记：@return
     * 标记：@throws Exception
     * 返回值：PageData
     * 作者：吴比(Wubi)
     * 
     * @exception
     * @since 1.0.0
     */
    public PageData editOrgan(PageData pageData) throws Exception {
        return (PageData) dao.findForObject("OrganMapper.updateOrgan", pageData);
    }

    /**
     * 
     * deleteOrganById(这里用一句话描述这个方法的作用)
     * (这里描述这个方法适用条件 – 可选)
     * 标记：@param pageData
     * 标记：@throws Exception
     * 返回值：void
     * 作者：吴比(Wubi)
     * 
     * @exception
     * @since 1.0.0
     */
    public void deleteOrganById(PageData pageData) throws Exception {
        dao.save("OrganMapper.deleteOrganById", pageData);
    }

    /**
     * 
     * deleteAllOrgan(这里用一句话描述这个方法的作用)
     * (这里描述这个方法适用条件 – 可选)
     * 标记：@param organids
     * 标记：@throws Exception
     * 返回值：void
     * 作者：吴比(Wubi)
     * 
     * @exception
     * @since 1.0.0
     */
    public void deleteAllOrgan(Number[] organids) throws Exception {
        dao.delete("NewUserMapper.deleteAllOrgan", organids);
    }

    /**
     * 
     * getChildrenOrganInfoByParentId(
     * 这里用一句话描述这个方法的作用)
     * (这里描述这个方法适用条件 – 可选)
     * 标记：@param pageData
     * 标记：@return
     * 标记：@throws Exception
     * 返回值：PageData
     * 作者：吴比(Wubi)
     * 
     * @exception
     * @since 1.0.0
     */
    public PageData getChildrenOrganInfoByParentId(PageData pageData) throws Exception {
        return (PageData) dao.findForObject("OrganMapper.getChildrenOrganInfoByParentId", pageData);
    }

    /**
     * 
     * findOrganInfoByOrganName(这里用一句话描述这个方法的作用)
     * (这里描述这个方法适用条件 – 可选)
     * 标记：@param pageData
     * 标记：@return
     * 标记：@throws Exception
     * 返回值：PageData
     * 作者：吴比(Wubi)
     * 
     * @exception
     * @since 1.0.0
     */
    public PageData findOrganInfoByOrganName(PageData pageData) throws Exception {
        return (PageData) dao.findForObject("OrganMapper.findOrganInfoByOrganName", pageData);
    }

    /**
     * 
     * delTp(这里用一句话描述这个方法的作用)
     * (这里描述这个方法适用条件 – 可选)
     * 标记：@param pd
     * 标记：@throws Exception
     * 返回值：void
     * 作者：吴比(Wubi)
     * 
     * @exception
     * @since 1.0.0
     */
    public void delTp(PageData pd) throws Exception {
        dao.update("OrganMapper.delTp", pd);
    }

    /**
     * 
     * saveOrganIDCode(这里用一句话描述这个方法的作用)
     * (这里描述这个方法适用条件 – 可选)
     * 标记：@param pageData
     * 标记：@throws Exception
     * 返回值：void
     * 作者：吴比(Wubi)
     * 
     * @exception
     * @since 1.0.0
     */
    public void saveOrganIDCode(PageData pageData) throws Exception {
        dao.save("OrganMapper.insertOrganIDCode", pageData);
    }

    /**
     * 
     * editOrganIDCode(这里用一句话描述这个方法的作用)
     * (这里描述这个方法适用条件 – 可选)
     * 标记：@param pageData
     * 标记：@return
     * 标记：@throws Exception
     * 返回值：PageData
     * 作者：吴比(Wubi)
     * 
     * @exception
     * @since 1.0.0
     */
    public PageData editOrganIDCode(PageData pageData) throws Exception {
        return (PageData) dao.findForObject("OrganMapper.updateOrganIDCode", pageData);
    }

    public void createOrganInfo(PageData pageData, String organname, String organlogostr) throws Exception {
        saveOrganInfo(pageData);
    }

    public List<Organ> queryAllChildOrgan(PageData pageData) throws Exception {
        return (List<Organ>) dao.findForList("OrganMapper.queryAllChildOrgan", pageData);
    }
}
